Особенность данной книги в подаче материала. Автор решил, что в учебнике не будет глав с чистой теорией, а поделил всю книгу на 52 упражнения. По мере продвижения вы познакомитесь со внутренней работой программ, узнаете, как выглядят хорошие программы, научитесь читать, писать и обдумывать код. Кроме того, вы научитесь находить и исправлять свои ошибки.
Книга для опытных питонистов, которые решили освоить паттерны разработки на Python. Авторы структурировали изучение паттернов вокруг примера приложения, выстраивая его глава за главой. Прорабатывая материал книги, вы будете применять разработку через тестирование, фреймворк Flask, библиотеку pytest, а также Docker и Redis.
Эта книга познакомит вас с объектно-ориентированным программированием. Она пригодится как начинающим питонистам, уже освоившим основы языка, так и читателям с опытом программирования на других языках, так как в ней рассматривается много особенностей написания кода на Python.
Эта книга научит вас не только основам Python, но и умению думать как программист. Проходя главу за главой, вы будете учиться использовать программирование для решения различных задач, а это самый важный навык для разработчика.
Основательная книга для изучения Python (и программирования в целом) с нуля. В первой части рассмотрены основы языка (с примерами и упражнениями), а вторая посвящена созданию проектов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Пространство имён в Python гарантирует, что имена объектов в программе остаются уникальными и могут использоваться без конфликтов.
Рассмотрим основные типы пространств имён:
Пример:
x = 10 # Глобальное
def foo():
x = 5 # Локальное
print(x) # Выведет 5 (локальное)
foo()
print(x) # Выведет 10 (глобальное)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌀 Как работает yield в Python?
Когда вы пишете функцию с yield, она превращается в генератор.
Это не просто функция — это объект, который можно итерировать, и при каждой итерации он "просыпается", возвращает значение и снова засыпает.
Пример:
Вывод:
Подробнее тут.
Важно: yield не только возвращает значение, но и сохраняет состояние функции.
Это значит, что переменные не сбрасываются, цикл не начинается с начала — выполнение продолжается с того же места.
Зачем это нужно?
🟠 Работать с большими объёмами данных
🟠 Писать "ленивый" код, который экономит память
🟠 Делать асинхронные пайплайны и обработчики
Крч если хочешь писать код, который не захлёбывается от объёмов — генераторы тебе в помощь😢
Когда вы пишете функцию с yield, она превращается в генератор.
Это не просто функция — это объект, который можно итерировать, и при каждой итерации он "просыпается", возвращает значение и снова засыпает.
Пример:
def squares():
for i in range(3):
yield i * i
for x in squares():
print(x)
Вывод:
0
1
4
Подробнее тут.
Важно: yield не только возвращает значение, но и сохраняет состояние функции.
Это значит, что переменные не сбрасываются, цикл не начинается с начала — выполнение продолжается с того же места.
Зачем это нужно?
Крч если хочешь писать код, который не захлёбывается от объёмов — генераторы тебе в помощь
Please open Telegram to view this post
VIEW IN TELEGRAM
Задача с кодом. Сколько чисел?
Напишите функцию, которая будет принимать вложенный список и возвращать общее количество чисел в нем.
Вложенный список может содержать числа, строки и пустые списки.
Примеры:
Решение на нашем сайте.
#задача #coding
Напишите функцию, которая будет принимать вложенный список и возвращать общее количество чисел в нем.
Вложенный список может содержать числа, строки и пустые списки.
Примеры:
count_number([["", 17.2, 5, "edabit"]]) ➞ 2
# 17.2 и 5.
count_number([[[[[2, 14]]], 2, 3, 4]]) ➞ 5
# 2, 14, 2, 3 и 4.
count_number([["number"]]) ➞ 0
Решение на нашем сайте.
#задача #coding
Tips & Tricks. Чтение YAML-файлов в Python
Рассказываем, как читать файлы YAML в Python, а точнее — как это делается при помощи модуля PyYAML.
Читать статью
#модули #tipsandtricks
Рассказываем, как читать файлы YAML в Python, а точнее — как это делается при помощи модуля PyYAML.
Читать статью
#модули #tipsandtricks
Задача на логику. Улитка
Улитка хочет добраться до водоема, но для этого ей нужно взобраться на стену (высота — 30 футов). Каждый час улитка может подняться на 3 фута, но, взобравшись, сползает на 2. За сколько времени улитка взберется на 30-футовую стену?
Пишите свои варианты в комментариях, а правильный ответ мы опубликуем завтра.
#логическаязадача
Улитка хочет добраться до водоема, но для этого ей нужно взобраться на стену (высота — 30 футов). Каждый час улитка может подняться на 3 фута, но, взобравшись, сползает на 2. За сколько времени улитка взберется на 30-футовую стену?
Пишите свои варианты в комментариях, а правильный ответ мы опубликуем завтра.
#логическаязадача
Словари. Как добавить элемент в словарь
Статья для начинающих. Разбираем основы - работу словарей и добавление в них элементов.
#словари
Читать статью
Статья для начинающих. Разбираем основы - работу словарей и добавление в них элементов.
#словари
Читать статью
Привет, друзья! Собрали для вас подборку статей о том, как работает ООП в Python
1️⃣ Введение в объектно-ориентированное программирование (ООП)
2️⃣ Введение в объектно-ориентированное программирование: много клякс
3️⃣ Пять важных понятий, необходимых для быстрого старта в Python ООП
4️⃣ Топ вопросов по ООП с собеседований. Часть 1
5️⃣ Топ вопросов по ООП с собеседований. Часть 2
6️⃣ Почему все в Python является объектом?
7️⃣ Введение в объектно-ориентированное программирование: наследование
8️⃣ Принцип модульности ООП в Python
9️⃣ Введение в объектно-ориентированное программирование: создание среды для нашего объекта с Pygame
Сохраняйте и делитесь с друзьями!
Сохраняйте и делитесь с друзьями!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Задача с кодом. Количество списков внутри списка
Нужно написать функцию, возвращающую количество списков внутри списка.
Примеры:
Решение на нашем сайте.
#задача #coding
Нужно написать функцию, возвращающую количество списков внутри списка.
Примеры:
num_of_sublists([[1, 2, 3]])
➞ 1num_of_sublists([[1, 2, 3], [1, 2, 3], [1, 2, 3]])
➞ 3 num_of_sublists([[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]])
➞ 4 num_of_sublists([1, 2, 3])
➞ 0Решение на нашем сайте.
#задача #coding